Attempts to remove an item from any one of the specified
BlockingCollection<(Of <(T>)>) instances.
Namespace:
System.Collections.Concurrent
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function TryTakeFromAny ( _
collections As BlockingCollection(Of T)(), _
<OutAttribute> ByRef item As T, _
timeout As TimeSpan _
) As Integer |
C# |
---|
public static int TryTakeFromAny(
BlockingCollection<T>[] collections,
out T item,
TimeSpan timeout
) |
Parameters
- collections
- Type: array<
System.Collections.Concurrent..::.BlockingCollection<(Of <(T>)>)
>[]()[]
The array of collections.
- item
- Type:
T
%
The item removed from one of the collections.
- timeout
- Type: System..::.TimeSpan
A TimeSpan that represents the number of milliseconds
to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.
Return Value
The index of the collection in the
collections array from which
the item was removed, or -1 if an item could not be removed.
Remarks
Exceptions
Exception | Condition |
---|
System..::.ArgumentNullException | The collections argument is
null. |
System..::.ArgumentException | The collections argument is
a 0-length array or contains a null element. |
System..::.ObjectDisposedException | At least one of the BlockingCollection<(Of <(T>)>) instances has been disposed. |
System..::.ArgumentOutOfRangeException | timeout is a negative number
other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than
MaxValue. |
System..::.InvalidOperationException | At least one of the underlying collections was modified
outside of its BlockingCollection<(Of <(T>)>) instance. |
System..::.ArgumentOutOfRangeException | The count of collections is greater than the maximum size of
62 for STA and 63 for MTA. |
See Also